上一篇提到 SSDLC 中的需求階段,而本篇注重在設計階段中的,並且提及常見的威脅建模方法。
威脅評估就像是在軟體開發過程中進行「資安健檢」,找出潛在的弱點並評估可能造成的危害
資安要求就像在軟體開發過程中制定「資安守則」
確保軟體符合一定的資安標準
資安架構就像軟體的「資安藍圖」
用來規劃和管理軟體的資安設計和實作
應用程式風險設定檔是一個文件
用於識別和評估特定應用程式可能面臨的資安風險
此設定檔旨在幫助組織
了解哪些應用程式在受到攻擊或入侵時可能對組織構成嚴重威脅
以便優先處理資安工作並分配資源
識別組織內的所有應用程式
可能包括網路應用程式、行動應用程式、桌面應用程式和後端系統
識別所有應用程式後
需要評估每個應用程式的風險
這可以使用各種因素來完成
▲ 有一些企業會以為內部網路絕對,這是錯誤的概念,近年來許多駭客都是進入內部網路之後,沒有做好網段隔離導致影響非常大
評估每個應用程式的風險後,
可以建立風險設定檔風險設定檔應包含以下資訊:
應用程式 A
應用程式 B
應用程式 C
欄位 | 說明 | 範例 |
---|---|---|
應用程式名稱 | 應用程式的名稱 | 線上銀行應用程式 |
應用程式描述 | 應用程式功能的簡要描述 | 允許客戶線上存取其銀行帳戶的網路應用程式 |
風險等級 | 應用程式的整體風險等級(例如高、中、低) | 高 |
風險等級說明 | 風險等級的詳細說明,包括支援風險評估的因素 | 此應用程式處理高度敏感的財務資料,並可供大量使用者使用 |
處理的資料類型 | 應用程式處理的資料類型,包括其敏感性分類 | 個人資訊、財務資料 |
使用者群 | 應用程式的目標使用者,包括其規模和權限級別 | 註冊客戶、銀行員工 |
攻擊面 | 應用程式暴露於潛在攻擊的程度,考慮其功能和整合點 | 網路介面、行動 API、後端資料庫 |
環境 | 應用程式執行的環境,包括其安全控制和威脅態勢 | 雲端託管環境、網際網路 |
建議措施 | 減輕已識別風險的建議措施,例如安全控制、測試和監控 | 實施多重要素驗證、定期進行安全測試和監控應用程式是否有可疑活動 |
以下是以處理個資和帳號密碼相關功能為例,說明如何界定範圍與深度:
資產 | STRIDE 威脅類型 | 案例 |
---|---|---|
個資 (姓名、地址、電話、電子郵件等) | 偽造身份 (Spoofing) | 攻擊者可能偽造身分,試圖存取他人的個資 |
竄改資料 (Tampering) | 攻擊者可能嘗試竄改使用者個資,例如修改姓名、地址或電話號碼 | |
否認 (Repudiation) | 攻擊者可能嘗試否認其行為,例如否認曾經存取或修改個資 | |
資訊洩露 (Information Disclosure) | 攻擊者可能嘗試竊取使用者個資,例如透過資料庫漏洞或網路竊聽 | |
阻斷服務 (Denial of Service) | 攻擊者可能嘗試發動阻斷服務攻擊,讓使用者無法存取其個資 | |
權限提升 (Elevation of Privilege) | 攻擊者可能嘗試利用系統漏洞提升自己的權限,以存取更多個資 |
資產 | STRIDE 威脅類型 | 案例 |
---|---|---|
帳號密碼 (使用者的帳號和密碼) | 偽造身份 (Spoofing) | 攻擊者可能偽造身分,嘗試登入其他使用者的帳號 |
竄改資料 (Tampering) | 攻擊者可能嘗試竄改使用者密碼,例如透過密碼重置功能或暴力破解 | |
否認 (Repudiation) | 攻擊者可能嘗試否認其行為,例如否認曾經登入系統或修改密碼 | |
資訊洩露 (Information Disclosure) | 攻擊者可能嘗試竊取使用者帳號密碼,例如透過網路竊聽或釣魚網站 | |
阻斷服務 (Denial of Service) | 攻擊者可能嘗試發動阻斷服務攻擊,讓使用者無法登入系統 | |
權限提升 (Elevation of Privilege) | 攻擊者可能嘗試利用系統漏洞提升自己的權限,以取得更多帳號密碼 |
資產 | STRIDE 威脅類型 | 案例 |
---|---|---|
系統可用性 (確保使用者可以正常註冊、登入和使用系統) | 偽造身份 (Spoofing) | 攻擊者可能偽造身分,大量註冊假帳號,消耗系統資源 |
竄改資料 (Tampering) | 攻擊者可能嘗試竄改系統設定或資料,影響系統正常運作 | |
否認 (Repudiation) | 攻擊者可能嘗試否認其行為,例如否認曾經發動攻擊或造成系統中斷 | |
資訊洩露 (Information Disclosure) | 攻擊者可能嘗試竊取系統設定或敏感資訊,以利於後續攻擊 | |
阻斷服務 (Denial of Service) | 攻擊者可能嘗試發動阻斷服務攻擊,讓使用者無法正常使用系統功能 | |
權限提升 (Elevation of Privilege) | 攻擊者可能嘗試利用系統漏洞提升自己的權限,以控制系統資源或破壞系統 |
每個維度以 1-3 分表示嚴重程度,分數越高代表風險越高
資產 | STRIDE 威脅類型 | 案例 | 損害 (Damage) | 重現性 (Reproducibility) | 可利用性 (Exploitability) | 受影響使用者 (Affected Users) | 可發現性 (Discoverability) |
---|---|---|---|---|---|---|---|
個資 | 偽造身份 (Spoofing) | 攻擊者可能偽造身分,試圖存取他人的個資 | 3 | 2 | 2 | 2 | 2 |
竄改資料 (Tampering) | 攻擊者可能嘗試竄改使用者個資,例如修改姓名、地址或電話號碼 | 3 | 3 | 2 | 2 | 2 | |
否認 (Repudiation) | 攻擊者可能嘗試否認其行為,例如否認曾經存取或修改個資 | 2 | 1 | 2 | 1 | 2 | |
資訊洩露 (Information Disclosure) | 攻擊者可能嘗試竊取使用者個資,例如透過資料庫漏洞或網路竊聽 | 3 | 3 | 3 | 3 | 3 | |
阻斷服務 (Denial of Service) | 攻擊者可能嘗試發動阻斷服務攻擊,讓使用者無法存取其個資 | 2 | 3 | 2 | 3 | 2 | |
權限提升 (Elevation of Privilege) | 攻擊者可能嘗試利用系統漏洞提升自己的權限,以存取更多個資 | 3 | 2 | 3 | 3 | 3 |
資產 | STRIDE 威脅類型 | 案例 | 損害 (Damage) | 重現性 (Reproducibility) | 可利用性 (Exploitability) | 受影響使用者 (Affected Users) | 可發現性 (Discoverability) |
---|---|---|---|---|---|---|---|
帳號密碼 | 偽造身份 (Spoofing) | 攻擊者可能偽造身分,嘗試登入其他使用者的帳號 | 3 | 2 | 2 | 2 | 2 |
竄改資料 (Tampering) | 攻擊者可能嘗試竄改使用者密碼,例如透過密碼重置功能或暴力破解 | 3 | 3 | 1 | 2 | 1 | |
否認 (Repudiation) | 攻擊者可能嘗試否認其行為,例如否認曾經登入系統或修改密碼 | 2 | 1 | 2 | 1 | 2 | |
資訊洩露 (Information Disclosure) | 攻擊者可能嘗試竊取使用者帳號密碼,例如透過網路竊聽或釣魚網站 | 3 | 3 | 3 | 3 | 3 | |
阻斷服務 (Denial of Service) | 攻擊者可能嘗試發動阻斷服務攻擊,讓使用者無法登入系統 | 2 | 3 | 2 | 3 | 2 | |
權限提升 (Elevation of Privilege) | 攻擊者可能嘗試利用系統漏洞提升自己的權限,以取得更多帳號密碼 | 3 | 2 | 3 | 3 | 3 |
資產 | STRIDE 威脅類型 | 案例 | 損害 (Damage) | 重現性 (Reproducibility) | 可利用性 (Exploitability) | 受影響使用者 (Affected Users) | 可發現性 (Discoverability) |
---|---|---|---|---|---|---|---|
系統可用性 | 偽造身份 (Spoofing) | 攻擊者可能偽造身分,大量註冊假帳號,消耗系統資源 | 2 | 3 | 1 | 3 | 1 |
竄改資料 (Tampering) | 攻擊者可能嘗試竄改系統設定或資料,影響系統正常運作 | 3 | 3 | 2 | 3 | 2 | |
否認 (Repudiation) | 攻擊者可能嘗試否認其行為,例如否認曾經發動攻擊或造成系統中斷 | 1 | 1 | 2 | 1 | 2 | |
資訊洩露 (Information Disclosure) | 攻擊者可能嘗試竊取系統設定或敏感資訊,以利於後續攻擊 | 3 | 1 | 3 | 1 | 3 | |
阻斷服務 (Denial of Service) | 攻擊者可能嘗試發動阻斷服務攻擊,讓使用者無法正常使用系統功能 | 3 | 3 | 3 | 3 | 3 | |
權限提升 (Elevation of Privilege) | 攻擊者可能嘗試利用系統漏洞提升自己的權限,以控制系統資源或破壞系統 | 3 | 2 | 3 | 3 | 3 |